@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

echo ========================================
echo           调试模式启动脚本
echo ========================================
echo.

echo 当前目录: %CD%
echo 当前时间: %date% %time%
echo.

:: 检查系统信息
echo [系统信息]
echo Windows版本:
ver
echo.
echo 环境变量PATH:
echo %PATH%
echo.

:: 检查Node.js
echo [Node.js检查]
node --version
if %errorlevel% neq 0 (
    echo ❌ Node.js 未安装或不在PATH中
) else (
    echo ✅ Node.js 已安装
    for /f "tokens=*" %%i in ('node --version') do echo 版本: %%i
)
echo.

:: 检查npm
echo [npm检查]
npm --version
if %errorlevel% neq 0 (
    echo ❌ npm 未安装或不在PATH中
) else (
    echo ✅ npm 已安装
    for /f "tokens=*" %%i in ('npm --version') do echo 版本: %%i
)
echo.

:: 检查pnpm
echo [pnpm检查]
pnpm --version
if %errorlevel% neq 0 (
    echo ❌ pnpm 未安装或不在PATH中
) else (
    echo ✅ pnpm 已安装
    for /f "tokens=*" %%i in ('pnpm --version') do echo 版本: %%i
)
echo.

:: 检查项目文件
echo [项目文件检查]
if exist "package.json" (
    echo ✅ package.json 存在
    echo 文件大小:
    dir package.json | findstr "package.json"
) else (
    echo ❌ package.json 不存在
)
echo.

if exist "node_modules" (
    echo ✅ node_modules 文件夹存在
) else (
    echo ❌ node_modules 文件夹不存在
)
echo.

if exist ".next" (
    echo ✅ .next 文件夹存在
) else (
    echo ❌ .next 文件夹不存在
)
echo.

:: 检查端口占用
echo [端口检查]
netstat -an | findstr ":3000"
if %errorlevel% neq 0 (
    echo ✅ 端口3000 未被占用
) else (
    echo ⚠️  端口3000 可能被占用
)
echo.

:: 尝试运行pnpm命令
echo [pnpm命令测试]
echo 测试 pnpm install:
pnpm install --dry-run
echo 错误代码: %errorlevel%
echo.

echo 测试 pnpm run build:
pnpm run build --dry-run 2>&1
echo 错误代码: %errorlevel%
echo.

echo ========================================
echo           调试完成
echo ========================================
echo.
echo 请查看上面的输出信息，找出问题所在。
echo 常见问题：
echo 1. Node.js 未安装或版本过低
echo 2. pnpm 未安装
echo 3. 网络连接问题
echo 4. 端口被占用
echo 5. 项目文件损坏
echo.
echo 按任意键退出...
pause >nul 